home *** CD-ROM | disk | FTP | other *** search
/ Aminet 31 / Aminet 31 (1999)(Schatztruhe)[!][Jun 1999].iso / Aminet / comm / mail / SnipSub.lha / SnipSubject.rexx < prev   
OS/2 REXX Batch file  |  1999-02-22  |  2KB  |  71 lines

  1. /*$VER:SnipSubject V3.1Beta Stephan Huebner (21-2-99)
  2.  Deletes [anything in square brackets] from the subject line */
  3.  
  4. /* call open("Console","CON:0/0/600/200/Repeat/wait/close/smart") */
  5.  
  6. /* Open used Libs */
  7.    CALL addlib("rexxreqtools.library",0,-30,0)
  8.    OPTIONS RESULTS
  9.    InpZ       = ""
  10.    FirstPos   = 1
  11.  
  12. /* Ask the user for the text, which should be snipped */
  13.    ReqTitle   = "SnipSubject"
  14.    ReqText    = "Enter text to delete, without []"
  15.    ReqButtons = "Take It!"
  16.    str        = "Hallo"
  17.    tags       = "rt_pubscrname=YAMSCREEN"
  18.    SnipWhat = rtgetstring(,ReqText,ReqTitle,ReqButtons,)
  19.  
  20. /* Show the User his Input and ask him again :-) */
  21.    ReqTitle   = "Are you sure?"
  22.    ReqText    = "Is this the text you want to snip out: " || SnipWhat
  23.    ReqButtons = "Yes|No"
  24.    YesOrNo = rtezrequest(ReqText,ReqButtons,ReqTitle,tags)
  25.  
  26. /* Do something, according to the users choice */
  27.    IF YesOrNo = 1 THEN DO           /* Input seems to be okay */
  28.       Laenge = Length(SnipWhat)
  29.       options results
  30.       address yam
  31.       appbusy
  32.       FOLDERINFO STEM FINF.
  33.       MaxMail = FINF.total
  34.       FirstMail = 0
  35.       DO ActMail=FirstMail TO MaxMail-1
  36.          SetMail ActMail
  37.          MAILINFO STEM INFO.
  38.          Stats = INFO.STATUS
  39.          IF index(UPPER(INFO.SUBJECT),UPPER("[" || SnipWhat || "]")) ~= 0 THEN DO
  40.             MailSub = INFO.SUBJECT
  41.             CALL DoTheRest()
  42.             mailstatus Stats
  43.          END
  44.       END
  45.    END
  46. mailupdate
  47. appnobusy
  48. EXIT
  49.  
  50. DoTheRest:
  51.    call open("LDat", INFO.FILENAME, R)
  52.       DO UNTIL LEFT(InpZ,9) = " Subject: "
  53.          ActPos = seek("LDat",0,Current)
  54.          InpZ = readln("LDat")
  55.       END
  56.    close("LDat")
  57.    InpZ = SPACE(InpZ,1)
  58.    InpZ = RIGHT(InpZ,LENGTH(InpZ)-9)
  59.    DO UNTIL FirstPos = 0
  60.       FirstPos = INDEX(UPPER(InpZ), "[" || UPPER(SnipWhat) || "]")
  61.       IF UPPER(SnipWhat)=UPPER(SUBSTR(InpZ,FirstPos+1,LENGTH(SnipWhat))) THEN DO
  62.          InpZ = DELSTR(InpZ,FirstPos,LENGTH(SnipWhat)+2)
  63.          InpZ = SPACE(InpZ,1)
  64.       END
  65.    END
  66.    call open("LDat", INFO.FILENAME, A)
  67.       seek("LDat",ActPos,Begin)
  68.       writeln("LDat", "Subject: " || InpZ)
  69.    close("LDat")
  70.    return
  71.